using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Resources;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace KPIS.GERP.Models.HRM
{
	[Table("HrmRcTransferDtls")]
    public class RcTransferDtls
    {
		[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
		[DataMember, Display(Name = "TransDtlsId", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public int TransDtlsId { get; set; }

		[ForeignKey("Trans")]
		[DataMember, Display(Name = "TransId", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> TransId { get; set; }

		[ForeignKey("")]
		[DataMember, Display(Name = "Id", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> Id { get; set; }

		[ForeignKey("Field")]
		[DataMember, Display(Name = "FieldId", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> FieldId { get; set; }

		[ForeignKey("Class")]
		[DataMember, Display(Name = "ClassId", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> ClassId { get; set; }

		[ForeignKey("JobSite")]
		[DataMember, Display(Name = "JobSiteId", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> JobSiteId { get; set; }

		[DataMember, Display(Name = "Remarks", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public string Remarks { get; set; }

		[DataMember, Display(Name = "RecordStatus", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public string RecordStatus { get; set; }

		[DataMember, Display(Name = "CreatedBy", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> CreatedBy { get; set; }

		[DataMember, Display(Name = "CreatedWhen", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<System.DateTime> CreatedWhen { get; set; }

		[DataMember, Display(Name = "UpdatedBy", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<int> UpdatedBy { get; set; }

		[DataMember, Display(Name = "UpdatedWhen", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public Nullable<System.DateTime> UpdatedWhen { get; set; }
    
		[DataMember, Display(Name = "HrmMpClasses", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public virtual MpClass HrmMpClasses { get; set; }

		[DataMember, Display(Name = "HrmMpFieldPositions", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public virtual MpFieldPosition HrmMpFieldPositions { get; set; }

		[DataMember, Display(Name = "HrmMpJobSites", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public virtual HRM.JobSite HrmMpJobSites { get; set; }

		[DataMember, Display(Name = "HrmRcTransfers", ResourceType = typeof(Resources.RcTransferDtlsResource))]
        public virtual RcTransfer HrmRcTransfers { get; set; }

        [DataMember]
		public virtual RcTransfer Trans { get; set; }

        [DataMember]
		public virtual FieldPosition Field { get; set; }

        [DataMember]
		public virtual MpClass Class { get; set; }

        [DataMember]
		public virtual HRM.JobSite JobSite { get; set; }

    }
}